import "pkl:test"

local add1 = (x) -> x + 1
local mul2 = (x) -> x * 2
local higher1 = (x) -> (y) -> (y |> x) + 1

res1 = 42 |> add1
res2 = 42 |> add1 |> add1
res3 = 42 |> add1 |> mul2

res4 = -1.abs |> add1
res5 = 1 + 2 + 3 |> add1
res6 = 42 ?? 21 |> add1
res7 = 21 |> add1 ?? 42

res8 = 42.abs |> higher1.apply(add1)
res9 = 42.abs |> (add1 |> higher1)

class Person {}

res10 = test.catch(() -> 42 |> 21)
res11 = test.catch(() -> 42 |> new Person {})
